/*
 * Tabla.cpp
 *
 *  Created on: 17/05/2012
 *      Author: Shazgath
 */

#include "Tabla.h"

Tabla::Tabla(unsigned int nT) : nTabla(nT) {
}

Tabla::~Tabla() {

}

std::vector<Atributo> Tabla::getAtributos() {
	return atributos;
}

void Tabla::insertarAtributo(Atributo a) {
	atributos.push_back(a);
}

Atributo Tabla::getAtributo(unsigned int i) {
	return atributos[i];
}

int Tabla::getPosicion(std::string nombre) {
	std::vector<Atributo>::iterator it;
	int i = 0;
	Atributo& a = *it;
	while (it != atributos.end() && (a.getNombre() != nombre))
		++i;
	if (a.getNombre() == nombre)
		return i;
	else return -1;
}

unsigned int Tabla::size() {
	return atributos.size();
}

std::ostream& operator<<(std::ostream& oss, Tabla& table) {
	std::vector<Atributo>::iterator i;
	for (i = table.atributos.begin(); i != table.atributos.end(); ++i) {
		oss << *i;
	}
	return oss;
}

char Tabla::getTipo(int pos) {
	return atributos[pos].getTipo();
}

std::string Tabla::getNombre(int pos) {
	return atributos[pos].getNombre();
}
